home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue50 / Clinic / ClipLst.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1999-08-08  |  2.1 KB  |  81 lines

  1. unit ClipLst;
  2.  
  3. interface
  4.  
  5. uses
  6.   WinProcs, WinTypes, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  7.   Dialogs, ExtCtrls, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     ListBox1: TListBox;
  12.     Timer1: TTimer;
  13.     procedure Timer1Timer(Sender: TObject);
  14.   private
  15.     { Private declarations }
  16.   public
  17.     { Public declarations }
  18.   end;
  19.  
  20. var
  21.   Form1: TForm1;
  22.  
  23. implementation
  24.  
  25. {$R *.DFM}
  26.  
  27. uses
  28.   ClipBrd;
  29.  
  30. {$ifdef Windows}
  31. const
  32.   CF_UNICODETEXT = 13;
  33.   CF_ENHMETAFILE = 14;
  34.   CF_HDROP = 15;
  35.   CF_LOCALE = $10;
  36.   CF_DSPENHMETAFILE = 142;
  37. {$endif}
  38.  
  39. procedure TForm1.Timer1Timer(Sender: TObject);
  40. var
  41.   I: Integer;
  42.   Buf: array[0..255] of Char;
  43.   Fmt: String;
  44. begin
  45.   ListBox1.Items.Clear;
  46.   for I := 0 to ClipBoard.FormatCount - 1 do
  47.   begin
  48.     GetClipboardFormatName(ClipBoard.Formats[I], Buf, SizeOf(Buf));
  49.     Fmt := StrPas(Buf);
  50.     if Fmt = '' then
  51.       case ClipBoard.Formats[I] of
  52.         CF_TEXT:            Fmt := 'CF_TEXT';
  53.         CF_BITMAP:          Fmt := 'CF_BITMAP';
  54.         CF_METAFILEPICT:    Fmt := 'CF_METAFILEPICT';
  55.         CF_SYLK:            Fmt := 'CF_SYLK';
  56.         CF_DIF:             Fmt := 'CF_DIF';
  57.         CF_TIFF:            Fmt := 'CF_TIFF';
  58.         CF_OEMTEXT:         Fmt := 'CF_OEMTEXT';
  59.         CF_DIB:             Fmt := 'CF_DIB';
  60.         CF_PALETTE:         Fmt := 'CF_PALETTE';
  61.         CF_PENDATA:         Fmt := 'CF_PENDATA';
  62.         CF_RIFF:            Fmt := 'CF_RIFF';
  63.         CF_WAVE:            Fmt := 'CF_WAVE';
  64.         CF_OWNERDISPLAY:    Fmt := 'CF_OWNERDISPLAY';
  65.         CF_DSPTEXT:         Fmt := 'CF_DSPTEXT';
  66.         CF_DSPBITMAP:       Fmt := 'CF_DSPBITMAP';
  67.         CF_DSPMETAFILEPICT: Fmt := 'CF_DSPMETAFILEPICT';
  68.         CF_UNICODETEXT:     Fmt := 'CF_UNICODETEXT';
  69.         CF_ENHMETAFILE:     Fmt := 'CF_ENHMETAFILE';
  70.         CF_HDROP:           Fmt := 'CF_HDROP';
  71.         CF_LOCALE:          Fmt := 'CF_LOCALE';
  72.         CF_DSPENHMETAFILE:  Fmt := 'CF_DSPENHMETAFILE';
  73.       else
  74.         Fmt := 'Unknown clipboard format'
  75.       end;
  76.     ListBox1.Items.Add(Fmt)
  77.   end;
  78. end;
  79.  
  80. end.
  81.